Pattern recognition method for reducing classification errors

ABSTRACT

A RBF pattern recognition method for reducing classification errors is provided. An optimum RBF training approach is obtained for reducing an error calculated by an error function. The invention continuously generates the updated differences of parameters in the learning process of recognizing training samples. The modified parameters are employed to stepwise adjust the RBF neural network. The invention can distinguish different degrees of importance and learning contributions among the training samples and evaluate the learning contribution of each training sample for obtaining differences of the parameters of the training samples. When the learning contribution is larger, the updated difference is larger to speed up the learning. Thus, the difference of the parameters is zero when the training samples are classified as the correct pattern type.

BACKGROUND OF THE INVENTION

[0001] 1. Field of the Invention

[0002] The present invention relates to the technical field of image recognition and, more particularly, to a radial basis function (RBF) neural network pattern recognition method for reducing classification errors.

[0003] 2. Description of Related Art

[0004] Conventionally, in the field of data processing, a RBF neural network is used in a broad variety of applications such as fault detection, fault diagnosis, speech recognition, image recognition, etc. The RBF neural network is advantageous as compared with an error back-propagation learning algorithm. This is because parameters should be repeatedly updated and trained for increasing a precision of a computer system for pattern recognition. Also, as compared with other networks, the RBF neural network is faster to be trained. It is found that all networks may have the same drawback of incompleteness of data collection in training samples. Advantageously, the RBF neural network provides low output responses to inputs that fall into regions of the data space where there is no training sample. Moreover, the RBF neural network can distinguish different learning contributions among training samples for generating different quantities of learning which are in turn used to update and enhance features of the computer system. That is, the RBF neural network may exploit localized basis functions such that learning of each input sample affects a specialized subset of the network parameters.

[0005] In a well-known process of training the computer system by the RBF neural network, a plurality of different pattern types are stored in the computer system. Also, samples for training the computer system belong to a specific one of the pattern types. The computer system calculates an output value of each training sample in respective pattern data. In a case that a maximum output value appears in the specific pattern type associated with the training samples, it means a correct recognition of the computer system. In another case that the maximum output value appears in any of other pattern types, it means that a gradient descent optimization algorithm is required to calculate a least means square error (LMSE) between the output value of in the specific pattern type and the maximum output value thereof. Consequently, the LMSE is used to generate parameters for updating the computer system in order to increase recognition accuracy.

[0006] However, the recognition accuracy of the LMSE is low even though it is advantageous in calculating an approximation function. Further, error may be accumulated as a result of an increase of the number of erroneous classifications in a maximum-likelihood classifier because the LMSE cannot correspond to a classification error calculated by the maximum-likelihood classifier. This can greatly reduce a performance of the computer system. Thus, there is desired to provide a novel pattern recognition method to mitigate and/or obviate the aforementioned problems.

SUMMARY OF THE INVENTION

[0007] An object of the present invention is to provide a radial basis function (RBF) neural network pattern recognition method for reducing classification errors. The invention generates the updated differences of parameters by recognizing a feature vector of training samples. The modified parameters are employed to stepwise adjust a setting of the RBF neural network, resulting in an increase of recognition accuracy.

[0008] Another object of the present invention is to distinguish different degrees of importance and learning contributions among the training samples and evaluate the learning contribution of each training sample for obtaining differences of the parameters of the training samples.

[0009] To achieve the object, the present invention provides a pattern recognition method for reducing classification errors by using RBF neural network. The RBF neural network includes an input layer, a kernel layer having a plurality of pattern types, each having a plurality of hidden neurons, each corresponding to a kernel function, and an output layer having a plurality of output neurons, each corresponding to a pattern type of the kernel layer. The pattern recognition method for reducing classification errors comprises the steps of (A) inputting a feature vector formed by a plurality of training samples to the input layer wherein the feature vector comprises a plurality of features each forming a corresponding one of a plurality of input neurons in the input layer; (B) calculating a measured value of the kernel layer relative to the hidden neuron by each of the input neurons based on a kernel function of each hidden neuron; (C) for each output neuron of the output layer, multiplying the measured value of the kernel layer corresponding to the pattern type associated with the output neuron by a weight for obtaining a measured value of the output layer corresponding to the pattern type; (D) finding a maximum one of the measured values of the output layer and an error relative to a correct one of the measured values of the output layer; and (E) modifying values of parameters of the kernel function and calculating a weight of the measured values of the output layer based on the error.

[0010] Other objects, advantages, and novel features of the invention will become more apparent from the detailed description when taken in conjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

[0011]FIG. 1 schematically illustrates a RBF neural network according to the invention; and

[0012]FIG. 2 is a flow chart illustrating a training process of pattern recognition according to the invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

[0013] With reference to FIG. 1, there is shown a RBF neural network for performing the pattern recognition method for reducing classification errors according to the invention. The RBF neural network comprises an input layer 10, a kernel layer 20, and an output layer 30. The kernel layer 20 comprises K pattern types. Each pattern type has a plurality of hidden neurons 21, each corresponding to a kernel function as a reference model for representing, for example, a person's face. The kernel function is a facial expression model of the person, typically an exemplary facial expression. Alternatively, the kernel function is an image reference model of one of a plurality of different taken angles. That is, respective hidden neuron 21 of each pattern type corresponds one of a plurality of different facial expressions taken in different angles. The output layer 30 comprises K output neurons 31, each corresponding to a pattern type of the kernel layer 20.

[0014] With reference to FIG. 2, there is shown a flow chart illustrating a training process of pattern recognition of the invention. In step S201, a feature vector formed by training samples is inputted to the input layer 10. The feature vector comprises N features F_(i), 1≦i≦N, such as pattern area of the training sample, measured length, aspect ratio, image luminance, etc. Moreover, each feature will form a corresponding input neuron x_(i), 1≦i≦N, in the input layer 10.

[0015] In step S202, there is determined a measured value of the kernel layer 20 relative to the hidden neuron 21 by each of the input neurons x_(i) based on a kernel function of each hidden neuron 21. In this embodiment, the kernel function is a Gaussian function ${O_{kj} = {\exp \left( {- {\sum\limits_{i = 1}^{N}{w_{kji}\left( {x_{i} - C_{kji}} \right)}^{2}}} \right)}},$

[0016] where k is the k-th pattern type of the kernel layer 20, j is the j-th hidden neuron 21 of the k-th pattern type, O_(kj) is the corresponding kernel function of the j-th hidden neuron 21 in the k-th pattern type, C_(kji) is the corresponding reference model feature of a reference model of each hidden neuron 21, N is the number of the hidden neurons 21, and w_(kji) is a weight of a reference model of C_(kji). In this embodiment, a clustering approach is employed to fetch a plurality of appropriate clusters from the pattern types. Thus, the initial value of C_(kji) is a cluster means and the initial value of w_(kji) is an inverse of cluster variance.

[0017] In step S203, for each output neuron 31 of the output layer 30, the measured value O_(kj) of the kernel layer 20 corresponding to the pattern type associated with the output neuron 31 is multiplied by a weight. As a result, a measured value of the output layer 30 corresponding to the pattern type is calculated, i.e., ${O_{k} = {\sum\limits_{j = 1}^{k_{n}}{\lambda_{kj}O_{kj}}}},$

[0018] 1≦k≦K, where λ_(kj) is a weight of the measured value of the kernel layer 20 and k_(n) is the number of the hidden neurons 21 corresponding to the k-th pattern type.

[0019] In step S204, a maximum measured value O_(M) of the output layer 30 is found from all measured values O_(k) (1≦k≦K) of the output layer 30, i.e., $O_{M} = {\max\limits_{1 \leq k \leq K}O_{k}}$

[0020] and an error relative to a correct measured value O_(T) of the output layer 30. Note that training samples are served for training the RBF neural network. Hence, at the time of inputting training samples, a pattern type associated with each training sample is already known to the RBF neural network. As a result, the measured value of the output layer 30 obtained in the corresponding pattern type by the feature vector of the training sample is the correct measured value O_(T) of the output layer 30. An error E is obtained by calculating an error function E(x)=1−e^((O) ^(_(T)) ^(−O) ^(_(M)) ^()A(n)), where 0≦A(n+1)≦A(n) and n is an epoch iteration number. A value of the error E is either one of the following cases when A(n) approaches zero:

E=1, if O _(T) <O _(M); and

E=0, if O _(T) =O _(M).

[0021] Moreover, for a certain A(n), (e.g. A(n)=0.5), when O_(T<O) _(M) and O_(T)≈O_(M), e^((O) ^(_(T)) ^(−O) ^(_(M)) ^()/A(n)) will approach one. That is, a value of 1−E approaches one. As a result, a large quantity of learning is obtained with respect to the RBF neural network. On the contrary, when O_(T)<O_(M) and O_(T)<<O_(M), e^((O) ^(_(T)) ^(−O) ^(_(M)) ^()/A(n)) will approach zero. That is, a value of 1−E approaches zero. As a result, a small quantity of learning is obtained with respect to the RBF neural network.

[0022] In step S205, the RBF neural network modifies values of parameters C_(kji) and w_(kji) of the kernel function and calculates a weight λ_(kj) of the measured value of the output layer 30 based on the error E. In this embodiment, a generalized delta rule is carried out to generate updated difference of parameter C_(kji), w_(kji), and λ_(kj): ${{\nabla C_{kji}} = {{- {\alpha (n)}}\frac{\partial E}{\partial C_{kji}}}},{{\nabla\lambda_{kj}} = {{- {\beta (n)}}\frac{\partial E}{\partial\lambda_{kj}}}},{and}$ ${{\nabla w_{kji}} = {{- {\gamma (n)}}\frac{\partial E}{\partial w_{kji}}}},$

[0023] where α(n), β(n), and γ(n) are three positive and monotonically-decreasing learning rates. Also, a chain rule is carried out to derive ${\frac{\delta \quad E}{\delta \quad C_{kji}} = {\frac{\delta \quad E}{\delta \quad O_{k}}\frac{\delta \quad O_{k}}{\delta \quad O_{kj}}\frac{\delta \quad O_{kj}}{\delta \quad C_{kji}}}},{{where}\quad \frac{\delta \quad E}{\delta \quad O_{k}}},\frac{\delta \quad O_{k}}{\delta \quad O_{kj}},{{and}\quad \frac{\delta \quad O_{kj}}{\delta \quad C_{kji}}}$

[0024] are defined as follows: $\frac{\delta \quad E}{\delta \quad O_{k}} = \left\{ {{{\begin{matrix} {{\frac{1}{A}\left( {1 - E} \right)},} & {{{{when}\quad k} = M};} \\ {{{- \frac{1}{A}}\left( {1 - E} \right)},} & {{{{when}\quad k} = T};} \\ {0,} & {otherwise} \end{matrix}\frac{\delta \quad O_{k}}{\delta \quad O_{kj}}} = \lambda_{kj}},{{{and}\frac{\delta \quad O_{kj}}{\delta \quad C_{kji}}} = {2O_{kj}{{w_{kji}\left( {x_{i} - C_{kji}} \right)}.}}}} \right.$

[0025] By combining the above equations, it is able to obtain the updated differences of the following parameters: ${\nabla C_{kji}} = \left\{ {\begin{matrix} {{{- {\eta \left( {1 - E} \right)}}\lambda_{kj}O_{kj}{w_{kji}\left( {x_{i} - C_{kji}} \right)}},} & {{{when}\quad k} = {{M\quad {and}\quad O_{T}} < O_{M}}} \\ {\quad {{{\eta \left( {1 - E} \right)}\lambda_{kj}O_{kj}{w_{kji}\left( {x_{i} - C_{kji}} \right)}},}} & {{{when}\quad k} = {{T\quad {and}\quad O_{T}} < O_{M}}} \\ {0,} & {otherwise} \end{matrix},} \right.$

[0026] where η=2α/A, and η is a learning parameter; likewise, ${\nabla\lambda_{kj}} = \left\{ {{\begin{matrix} {{{- {\theta \left( {1 - E} \right)}}O_{kj}},} & {{{when}\quad k} = {{M\quad {and}\quad O_{T}} < O_{M}}} \\ {\quad {{{\theta \left( {1 - E} \right)}O_{kj}},}} & {{{{when}\quad k} = {{T\quad {and}\quad O_{T}} < O_{M}}},{and}} \\ {0,} & {otherwise} \end{matrix}{\nabla w_{kji}}} = \left\{ {\begin{matrix} {\quad {{{\rho \left( {1 - E} \right)}\lambda_{kj}{O_{kj}\left( {x_{i} - C_{kji}} \right)}^{2}},}} & {{{when}\quad k} = {{M\quad {and}\quad O_{T}} < O_{M}}} \\ {{{- {\rho \left( {1 - E} \right)}}\lambda_{kj}{O_{kj}\left( {x_{i} - C_{kji}} \right)}^{2}},} & {{{when}\quad k} = {{T\quad {and}\quad O_{T}} < O_{M}}} \\ {0,} & {otherwise} \end{matrix},} \right.} \right.$

[0027] where θ=2β/A, ρ=2γ/A, and both θ and ρ are learning parameters. Moreover, η, θ, and ρ are generally monotonically decreasing.

[0028] Note that the above updated differences of the parameters are obtained by assuming O_(T)<O_(M). In other words, the maximum measured value of the output layer 30 calculated by the RBF neural network is not equal to the correct measured value of the output layer 30. As a result, differences of the parameters will be generated by the RBF neural network.

[0029] In a practical training process, there is a need to appropriately update values of the parameters even a correct O_(T)=O_(M) is calculated by the RBF neural network. As such, a further determination is made as to whether there is a measured value O_(S) of the output layer 30 less than O_(T) by a small value, i.e., O_(T)<O_(S)+ε:, where ε is a small positive value (e.g. ε=0.02). At this condition, the updated differences of the parameters C_(kji), w_(kji), and λ_(kj) are as follows: ${\nabla C_{kji}^{m}} = \left\{ {\begin{matrix} {{{- {\eta_{1}\left( {1 - E} \right)}}\lambda_{kj}O_{kj}{w_{kji}\left( {x_{i} - C_{kji}} \right)}},} & {{{when}\quad k} = {{M\quad {and}\quad O_{T}} < O_{M}}} \\ {\quad {{{\eta_{1}\left( {1 - E} \right)}\lambda_{kj}O_{kj}{w_{kji}\left( {x_{i} - C_{kji}} \right)}},}} & {{{when}\quad k} = {{T\quad {and}\quad O_{T}} < O_{M}}} \\ {{{- {\eta_{2}\left( {1 - E^{a}} \right)}}\lambda_{kj}O_{kj}{w_{kji}\left( {x_{i} - C_{kji}} \right)}},} & {{{{when}\quad k} = S},{O_{T} = {{O_{M}\quad {and}\quad O_{T}} < {O_{S} + ɛ}}}} \\ {\quad {{{\eta_{2}\left( {1 - E^{a}} \right)}\lambda_{kj}O_{kj}{w_{kji}\left( {x_{i} - C_{kji}} \right)}},}} & {{{{when}\quad k} = T},{O_{T} = {{O_{M}\quad {and}\quad O_{T}} < {O_{S} + ɛ}}}} \\ {0,} & {otherwise} \end{matrix},{{\nabla\lambda_{kj}^{m}} = \left\{ {{\begin{matrix} {{{- {\theta_{1}\left( {1 - E} \right)}}O_{kj}},} & {{{when}\quad k} = {{M\quad {and}\quad O_{T}} < O_{M}}} \\ {\quad {{{\theta_{1}\left( {1 - E} \right)}O_{kj}},}} & {{{when}\quad k} = {{T\quad {and}\quad O_{T}} < O_{M}}} \\ {{{- {\theta_{2}\left( {1 - E^{a}} \right)}}O_{kj}},} & {{{{when}\quad k} = S},{O_{T} = {{O_{M}\quad {and}\quad O_{T}} < {O_{S} + ɛ}}},{and}} \\ {\quad {{{\theta_{2}\left( {1 - E^{a}} \right)}O_{kj}},}} & {{{{when}\quad k} = T},{O_{T} = {{O_{M}\quad {and}\quad O_{T}} < {O_{S} + ɛ}}}} \\ {0,} & {otherwise} \end{matrix}{\nabla w_{kji}^{m}}} = \left\{ {{{\begin{matrix} {\quad {{{\rho_{1}\left( {1 - E} \right)}\lambda_{kj}{O_{kj}\left( {x_{i} - C_{kji}} \right)}^{2}},}} & {{{when}\quad k} = {{M\quad {and}\quad O_{T}} < O_{M}}} \\ {{{- {\rho_{1}\left( {1 - E} \right)}}\lambda_{kj}{O_{kj}\left( {x_{i} - C_{kji}} \right)}^{2}},} & {{{when}\quad k} = {{T\quad {and}\quad O_{T}} < O_{M}}} \\ {\quad {{{\rho_{2}\left( {1 - E^{a}} \right)}\lambda_{kj}{O_{kj}\left( {x_{i} - C_{kji}} \right)}^{2}},}} & {{{{when}\quad k} = S},{O_{T} = {{O_{M}\quad {and}\quad O_{T}} < {O_{S} + ɛ}}}} \\ {{{- {\rho_{2}\left( {1 - E^{a}} \right)}}\lambda_{kj}{O_{kj}\left( {x_{i} - C_{kji}} \right)}^{2}},} & {{{{when}\quad k} = T},{O_{T} = {{O_{M}\quad {and}\quad O_{T}} < {O_{S} + ɛ}}}} \\ {0,} & {otherwise} \end{matrix}{where}\quad \eta_{1}} \geq \eta_{2}},{\theta_{1} \geq \theta_{2}},{\rho_{1} \geq \rho_{2}},{E^{a} = {1 - ^{{({O_{S} - O_{M}})}/A}}},{{{and}\quad O_{S}} = {\max\limits_{{k = 1},{k \neq M}}^{K}{O_{k}\quad.}}}} \right.} \right.}} \right.$

[0030] As a result, a possibility of generating an obscure result is greatly reduced. Thus, a recognition correctness of the RBF neural network can be increased.

[0031] Based on the above updated differences of the parameters, the parameters C_(kji), w_(kji), and λ_(kj) are modified as follows: C_(kji) = C_(kji) + ∇C_(kji)^(m), w_(kji) = w_(kji) + ∇w_(kji)^(m), and λ_(kj) = λ_(kj) + ∇λ_(kj)^(m)  .

[0032] In view of the foregoing, the invention generates the updated differences of parameters by recognizing the inputted training samples, and the modified parameters are employed to stepwise adjust a setting of the RBF neural network, resulting in an increase of recognition accuracy. Furthermore, the degree of importance and learning contribution of one training sample can be distinguished from that of the other. As a result, the training mechanism is enhanced, thereby establishing an optimum RBF neural network for recognizing patterns.

[0033] Although the present invention has been explained in relation to its preferred embodiment, it is to be understood that many other possible modifications and variations can be made without departing from the spirit and scope of the invention as hereinafter claimed. 

What is claimed is:
 1. A pattern recognition method for reducing classification errors by using a RBF neural network including an input layer, a kernel layer having a plurality of pattern types, each having a plurality of hidden neurons, each corresponding to a kernel function, and an output layer having a plurality of output neurons, each corresponding to a pattern type of the kernel layer, the pattern recognition method comprising the steps of: (A) inputting a feature vector formed by a plurality of training samples to the input layer, wherein the feature vector comprises a plurality of features, each forming a corresponding one of a plurality of input neurons in the input layer; (B) calculating a measured value of the kernel layer relative to the hidden neuron by each of the input neurons based on a kernel function of each hidden neuron; (C) for each output neuron of the output layer, multiplying the measured value of the kernel layer corresponding to the pattern type associated with the output neuron by a weight for obtaining a measured value of the output layer corresponding to the pattern type; (D) finding a maximum one of the measured values of the output layer and an error relative to a correct one of the measured values of the output layer; and (E) modifying values of parameters of the kernel function and calculating a weight of the measured values of the output layer based on the error.
 2. The method as claimed in claim 1, wherein in the step (D), the correct measured value of the output layer is the measured value of the output layer obtained in the corresponding pattern type by the feature vector.
 3. The method as claimed in claim 1, wherein the kernel function corresponding to the hidden neuron is a Gaussian function.
 4. The method as claimed in claim 3, wherein the kernel function corresponding to the hidden neuron is defined by ${O_{kj} = {\exp \left( {- {\sum\limits_{i = 1}^{N}{w_{kji}\left( {x_{i} - C_{kji}} \right)}^{2}}} \right)}},$

where x_(i) is the i-th input neuron, C_(kji) is a corresponding reference model feature of a reference model of each hidden neuron, w_(kji) is a weight of a reference model of C_(kji), and N is the number of the hidden neurons.
 5. The method as claimed in claim 4, wherein an initial value of w_(kji) and an initial value of C_(kji) is obtained by fetching a plurality of clusters from the pattern types according to a clustering approach, where the initial value of C_(kji) is a cluster means and the initial value of w_(kji) is an inverse of cluster variance.
 6. The method as claimed in claim 4, wherein, in the step (C), the measured value of the output layer is ${O_{k} = {\sum\limits_{j = 1}^{k_{n}}{\lambda_{kj}O_{kj}}}},$

where λ_(kj) is a weight of the measured value of the kernel layer and k_(n) is the number of the hidden neurons corresponding to the k-th pattern type.
 7. The method as claimed in claim 6, wherein, in the step (D), the error is obtained by calculating an error function E(x)=1−e^((O) ^(_(T)) ^(−O) ^(_(M)) ^()A(n)), where O_(M) is the maximum one of the measured values of the output layer, O_(T) is the correct measured value of the output layer, and 0≦A(n+1)≦A(n), and n is an epoch iteration number.
 8. The method as claimed in claim 7, wherein, in the step (E), there is executed a chain rule to derive ${\frac{\delta \quad E}{\delta \quad C_{kji}} = {\frac{\delta \quad E}{\delta \quad O_{k}}\frac{\delta \quad O_{k}}{\delta \quad O_{kj}}\frac{\delta \quad O_{kj}}{\delta \quad C_{kji}}}},$

and a generalized delta rule is based to generate updated differences of the parameters C_(kji), w_(kji), and λ_(kj) represented as: $\begin{matrix} {{{{\nabla\quad C_{kji}} = {{- \alpha}\quad (n)\frac{\partial E}{\partial C_{kji}}}},}\quad} \\ {{{{\nabla\lambda_{kj}} = {{- {\beta (n)}}\frac{\partial E}{\partial\lambda_{kj}}}},{and}}\quad} \end{matrix}\quad$ ${{\nabla\quad w_{kji}} = {{- {\gamma (n)}}\frac{\partial E}{\partial w_{kji}}}},$

so that, when O_(T)<O_(M), the updated differences of the parameters C_(kji), w_(kji), and λ_(kj) are represented as: $\begin{matrix} {{\nabla\quad C_{kji}} = \left\{ {\begin{matrix} {{{- {\eta \left( {1 - E} \right)}}\lambda_{kj}O_{kj}{w_{kji}\left( {x_{i} - C_{kji}} \right)}},} & {{{when}\quad k} = {{M\quad {and}\quad O_{T}} < O_{M}}} \\ {{{\eta \left( {1 - E} \right)}\lambda_{kj}O_{kj}{w_{kji}\left( {x_{i} - C_{kji}} \right)}},} & {{{when}\quad k} = {{T\quad {and}\quad O_{T}} < O_{M}}} \\ {0,} & {otherwise} \end{matrix},} \right.} \\ {{{\nabla\lambda_{kj}} = \left\{ \begin{matrix} {{{- {\theta \left( {1 - E} \right)}}O_{kj}},} & {{{when}\quad k} = {{M\quad {and}\quad O_{T}} < O_{M}}} \\ {{{\theta \left( {1 - E} \right)}O_{kj}},} & {{{{when}\quad k} = {{T\quad {and}\quad O_{T}} < O_{M}}},{and}} \\ {0,} & {otherwise} \end{matrix} \right.}} \\ {{{\nabla w_{kji}} = \left\{ {\begin{matrix} {{{\rho \left( {1 - E} \right)}\lambda_{kj}{O_{kj}\left( {x_{i} - C_{kji}} \right)}^{2}},} & {{{when}\quad k} = {{M\quad {and}\quad O_{T}} < O_{M}}} \\ {{{- {\rho \left( {1 - E} \right)}}\lambda_{kj}{O_{kj}\left( {x_{i} - C_{kji}} \right)}^{2}},} & {{{when}\quad k} = {{T\quad {and}\quad O_{T}} < O_{M}}} \\ {0,} & {otherwise} \end{matrix}.} \right.}} \end{matrix}$


9. The method as claimed in claim 8, further comprising a step of representing the updated differences of the parameters C_(kji), w_(kji), and λ_(kj) as below in response to that O_(T) is the maximum measured value of the output layer and O_(T)<O_(S)+ε, where O_(S) is the second maximum measured values of the output layer and ε is a small positive value: $\begin{matrix} {{\nabla\quad C_{kji}^{m}} = \left\{ {\begin{matrix} {{{- {\eta_{1}\left( {1 - E} \right)}}\lambda_{kj}O_{kj}{w_{kji}\left( {x_{i} - C_{kji}} \right)}},} & {{{when}\quad k} = {{M\quad {and}\quad O_{T}} < O_{M}}} \\ {{{\eta_{1}\left( {1 - E} \right)}\lambda_{kj}O_{kj}{w_{kji}\left( {x_{i} - C_{kji}} \right)}},} & {{{when}\quad k} = {{T\quad {and}\quad O_{T}} < O_{M}}} \\ {{{- {\eta_{2}\left( {1 - E^{a}} \right)}}\lambda_{kj}O_{kj}{w_{kji}\left( {x_{i} - C_{kji}} \right)}},} & {{{{when}\quad k} = S},{O_{T} = {{O_{M}\quad {and}\quad O_{T}} < {O_{S} + ɛ}}}} \\ {{{\eta_{2}\left( {1 - E^{a}} \right)}\lambda_{kj}O_{kj}{w_{kji}\left( {x_{i} - C_{kji}} \right)}},} & {{{{when}\quad k} = T},{O_{T} = {{O_{M}\quad {and}\quad O_{T}} < {O_{S} + ɛ}}}} \\ {0,} & {otherwise} \end{matrix},} \right.} \\ {{\nabla\lambda_{kj}^{m}} = \left\{ {\begin{matrix} {{{- {\theta_{1}\left( {1 - E} \right)}}O_{kj}},} & {{{when}\quad k} = {{M\quad {and}\quad O_{T}} < O_{M}}} \\ {{{\theta_{1}\left( {1 - E} \right)}O_{kj}},} & {{{when}\quad k} = {{T\quad {and}\quad O_{T}} < O_{M}}} \\ {{{- {\theta_{2}\left( {1 - E^{a}} \right)}}O_{kj}},} & {{{{when}\quad k} = S},{O_{T} = {{O_{M}\quad {and}\quad O_{T}} < {O_{S} + ɛ}}},} \\ {{{\theta_{2}\left( {1 - E^{a}} \right)}O_{kj}},} & {{{{when}\quad k} = T},{O_{T} = {{O_{M}\quad {and}\quad O_{T}} < {O_{S} + ɛ}}},} \\ {0,} & {otherwise} \end{matrix}{and}} \right.} \\ {{\nabla w_{kji}^{m}} = \left\{ \begin{matrix} {{{\rho_{1}\left( {1 - E} \right)}\lambda_{kj}{O_{kj}\left( {x_{i} - C_{kji}} \right)}^{2}},} & {{{when}\quad k} = {{M\quad {and}\quad O_{T}} < O_{M}}} \\ {{{- {\rho_{1}\left( {1 - E} \right)}}\lambda_{kj}{O_{kj}\left( {x_{i} - C_{kji}} \right)}^{2}},} & {{{when}\quad k} = {{T\quad {and}\quad O_{T}} < O_{M}}} \\ {{{\rho_{2}\left( {1 - E^{a}} \right)}\lambda_{kj}{O_{kj}\left( {x_{i} - C_{kji}} \right)}^{2}},} & {{{{when}\quad k} = S},{O_{T} = {{O_{M}\quad {and}\quad O_{T}} < {O_{S} + ɛ}}}} \\ {{{- {\rho_{2}\left( {1 - E^{a}} \right)}}\lambda_{kj}{O_{kj}\left( {x_{i} - C_{kji}} \right)}^{2}},} & {{{{when}\quad k} = T},{O_{T} = {{O_{M}\quad {and}\quad O_{T}} < {O_{S} + ɛ}}}} \\ {0,} & {otherwise} \end{matrix} \right.} \end{matrix}$ ${{{where}\quad \eta_{1}} \geq \eta_{2}},{\theta_{1} \geq \theta_{2}},{\rho_{1} \geq \rho_{2}},{E^{a} = {1 - ^{{({O_{S} - O_{M}})}/A}}},{{{and}\quad O_{S}} = {\overset{\kappa}{\max\limits_{{k = 1},{k \neq M}}}\quad {O_{k}.}}}$ 